package jxerializeml.xml.reader;

import jxerializeml.errors.JXerializeMLError;
import jxerializeml.errors.input.DeserializationError;
import jxerializeml.errors.input.InvalidInputValue;
import jxerializeml.xml.FieldBean;

/**
 * Listener, which accepts informations about the structure and content of XML
 * file and deserializes object using these informations.
 * 
 * @author Tomáš Zíma
 * @see    {@link XMLReader}
 */
public interface XMLReaderListener {
	public void createObject(String className) throws JXerializeMLError;
	public void setField(FieldBean fieldBean) throws InvalidInputValue, DeserializationError;
	public void setArrayItem(FieldBean fieldBean) throws DeserializationError;
	public void enterNode();
	public void leaveNode();
}
